package org.fuys.etp.core.model.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @projectName: fuys-etp
 * @package: org.fuys.etp.core.model.vo
 * @className: TpStatusVO
 * @author: WangJing
 * @description: 线程池内部状态 如核心线程数 阻塞队列大小 最大线程数 当前线程数 任务平均执行时间 等
 * @date: 2025/2/5 12:22
 * @version: 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TpStatusVO {
    //核心线程数
    private Integer corePoolSize;
    //最大线程数
    private Integer maximumPoolSize;
    //阻塞队列任务数
    private Integer queueSize;
    //阻塞队列使用占比
    private Double queueUsage;
    //拒绝策略计数
    private Long rejectCount;
    //当前线程数
    private Integer currentPoolSize;
    //任务平均执行时间
    private Long averageTaskTime;
    //总执行任务数
    private Long sumTaskCount;
    //P90点
    private Double p90Point;
    //P99点
    private Double p99Point;
    //任务数量趋势
    private Integer taskTrend;
    //PID指数
    private Double pidResult;
    //滑动窗口预测趋势
    private Double predicted;
}
